package ejb.com.bbva.cbm.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import ejb.com.bbva.cbm.dominio.Oficina;
import ejb.com.bbva.cbm.util.Listado;
import ejb.com.bbva.cbm.util.Parametro;
import ejb.com.bbva.cbm.util.voucher.DatosVoucherOperacionCaja;

public interface ReporteService {

	public List<Oficina> listarOficinas() throws Exception;
	
	public void generarReporteTransaccionesSignificativas(Parametro parametro)throws Exception;
	public void generarReporteOperaciones(Parametro parametro)throws Exception;
	public void generarReporteLogTransacciones(Parametro parametro)throws Exception;
	public void generarReporteLogAuditoria(Parametro parametro)throws Exception;
	public void generarReporteTarjetasBloqueadas(Parametro parametro)throws Exception;
	public void generarReporteFaltanteSobrante(Parametro parametro)throws Exception;
	public void generarReporteSituacionCaja(Parametro parametro)throws Exception;
	public void generarReporteEstadoOficina(Parametro parametro)throws Exception;
	public void generarReporteRechazoOPS(Parametro parametro)throws Exception;
	
	public int contarReporteTransaccionesSignificativas(Parametro parametro) throws Exception;
	public Listado listarReporteTransaccionesSignificativas(Parametro parametro)throws Exception;
	

	public ArrayList<Object[]> contarReporteOperaciones(Parametro parametro) throws Exception;
	public Listado listarReporteOperaciones(Parametro parametro)throws Exception;
	
	public int contarReporteLogTransacciones(Parametro parametro) throws Exception;
	public Listado listarReporteLogTransacciones(Parametro parametro)throws Exception;
	
	public int contarReporteLogAuditoria(Parametro parametro) throws Exception;
	public Listado listarReporteLogAuditoria(Parametro parametro)throws Exception;
	
	public int contarReporteTarjetasBloqueadas(Parametro parametro) throws Exception;
	public Listado listarReporteTarjetasBloqueadas(Parametro parametro)throws Exception;
	
	public int contarReporteFaltanteSobrante(Parametro parametro) throws Exception;
	public Listado listarReporteFaltanteSobrante(Parametro parametro)throws Exception;
	
	public int contarReporteSituacionCaja(Parametro parametro) throws Exception;
	public Listado listarReporteSituacionCaja(Parametro parametro)throws Exception;
	
	public int contarReporteEstadoOficina(Parametro parametro) throws Exception;
	public Listado listarReporteEstadoOficina(Parametro parametro)	throws Exception;
	
	public int contarReporteRechazoOPS(Parametro parametro) throws Exception;
	public Listado listarReporteRechazoOPS(Parametro parametro)throws Exception;
	

	public HashMap<String,Object> detalleDepositoEfectivo(HashMap<String,Object> parametro)throws Exception;
	public HashMap<String,Object> detallePagoCuentaTarjetaCredito(HashMap<String,Object> parametro)throws Exception;
	public HashMap<String,Object> detalleRetiroEfectivo(HashMap<String,Object> parametro)throws Exception;
	public HashMap<String,Object> detalleBloqueoTarjeta(HashMap<String,Object> parametro)throws Exception;	
	public DatosVoucherOperacionCaja obtenerDatosOperacionCaja(HashMap<String, Object> parametro) throws Exception;
	public HashMap<String,Object> detallePagoCheque(HashMap<String,Object> parametro)throws Exception;
	public Object[] detalleDepositoCheque(HashMap<String,Object> parametro)throws Exception;
}
